/* eslint-disable */
//dev
// const API = 'api/';
// const API = 'http://192.168.0.60:9480/';
// const WS_API = 'ws://192.168.0.60:9480/';
//正式打包用
const API = "https://api.moogc.cn/";
const WS_API = 'wss://api.moogc.cn/';
const HEADER_FORM_URL = {
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
  },
};
const HEADER_JSON = {
  headers: {
    'Content-Type': 'application/json;charset=utf-8',
  },
};

//开发模式
const IS_DEV=false;
localStorage.setItem('isDev', IS_DEV?'Y':'N');

function formatDatePicker(value) {
  const tempValue = value.replace(/\-/g, '/');
  if (tempValue !== '' && tempValue !== undefined && tempValue !== null) {
    let date = ''
    if (typeof value == 'string') {
      date = new Date(tempValue.replace(/-/g, '/'))
    } else {
      date = new Date(tempValue)
    }
    return `${date.getFullYear()}-${pad((date.getMonth() + 1), 2)}-${
        pad(date.getDate(), 2)}`;
  }

  return '';

  return value;
}

function formatDayPicker(value) {
  if (value != '' && value != undefined && value) {
    let date = ''
    if (typeof value == 'string') {
      date = new Date(value.replace(/-/g, '/'))
    } else {
      date = new Date(value)
    }
    return `${pad((date.getMonth() + 1), 2)}.${
        pad(date.getDate(), 2)}`;
  }

  return '';

  return value;
}
function formatMonthPicker(value) {
  if (value !== '' && value !== undefined && value) {
    let date = ''
    if (typeof value == 'string') {
      date = new Date(value.replace(/-/g, '/'))
    } else {
      date = new Date(value)
    }
    return `${date.getFullYear()}-${pad((date.getMonth() + 1), 2)}`;
  }

  return '';

  return value;
}

function formatDatetimePicker(value) {
  if (value != '' && value != undefined && value) {
    let date = ''
    if (typeof value == 'string') {
      date = new Date(value.replace(/-/g, '/'))
    } else {
      date = new Date(value)
    }
    return `${date.getFullYear()}-${pad((date.getMonth() + 1), 2)}-${
        pad(date.getDate(), 2)} ${pad(date.getHours(), 2)}:${pad(date.getMinutes(), 2)
        }:${pad(date.getSeconds(), 2)}`;
  }

  return '';

  return value;
}

function pad(num, n) {
  let len = num.toString().length;
  while (len < n) {
    num = `0${num}`;
    len++;
  }
  return num;
}

function formatYearMonthPicker(value) {
  if (value != '' && value != undefined && value) {
    let date = ''
    if (typeof value == 'string') {
      date = new Date(value.replace(/-/g, '/'))
    } else {
      date = new Date(value)
    }
    return `${date.getFullYear()}-${pad((date.getMonth() + 1), 2)}`;
  }

  return '';

  return value;
}

function priceFilter(val) {
  if (val !== null && val !== undefined && val !== '') {
    return val.toFixed(2);
  }
  return '0.00';
}
function isPhone(val) {
  const reg = /(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/;
  return reg.test(val.replace(/\s/g, ''));
}
function isId(ID) {
  if (typeof ID !== 'string') return false;
  const city = {
    11: '北京',
    12: '天津',
    13: '河北',
    14: '山西',
    15: '内蒙古',
    21: '辽宁',
    22: '吉林',
    23: '黑龙江 ',
    31: '上海',
    32: '江苏',
    33: '浙江',
    34: '安徽',
    35: '福建',
    36: '江西',
    37: '山东',
    41: '河南',
    42: '湖北 ',
    43: '湖南',
    44: '广东',
    45: '广西',
    46: '海南',
    50: '重庆',
    51: '四川',
    52: '贵州',
    53: '云南',
    54: '西藏 ',
    61: '陕西',
    62: '甘肃',
    63: '青海',
    64: '宁夏',
    65: '新疆',
    71: '台湾',
    81: '香港',
    82: '澳门',
    91: '国外',
  };


  const birthday = `${ID.substr(6, 4)}/${Number(ID.substr(10, 2))}/${Number(ID.substr(12, 2))}`;
  const d = new Date(birthday);
  const newBirthday = `${d.getFullYear()}/${Number(d.getMonth() + 1)}/${Number(d.getDate())}`;
  const currentTime = new Date().getTime();
  const time = d.getTime();
  const arrInt = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
  const arrCh = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
  let sum = 0,
      i,
      residue;

  if (!/^\d{17}(\d|x)$/i.test(ID)) return false;
  if (city[ID.substr(0, 2)] === undefined) return false;
  if (time >= currentTime || birthday !== newBirthday) return false;
  for (i = 0; i < 17; i++) {
    sum += ID.substr(i, 1) * arrInt[i];
  }
  residue = arrCh[sum % 11];
  return residue === ID.substr(17, 1);
}


export default {
  isId,
  isPhone,
  priceFilter,
  API,
  WS_API,
  HEADER_FORM_URL,
  HEADER_JSON,
  pad,
  formatDayPicker,
  formatDatePicker,
  formatMonthPicker,
  formatDatetimePicker,
  formatYearMonthPicker,
  IS_DEV,
};
/* eslint-enable */
